#ifndef TURN_OVER_ON_COLOR_LANE_STATE_H
#define TURN_OVER_ON_COLOR_LANE_STATE_H

#include "LaneEvent.hpp"
#include "LaneSensorStatus.hpp"
#include "State.hpp"

/**
 * The state the robot has while it turns around on a colored lane.
 */


class TurnOverOnColorLaneState : public State
{

public:
	/**
	 * Constructor
	 */
	TurnOverOnColorLaneState();

	/**
	 * Handles incoming events.
	 * This function is not implemented yet.
	 *
	 * @param the event that should be handled.
	 * @see Event.hpp
	 */
	virtual void handleEvent(Event& event);

	/**
	 * initialises state.
	 * This function is not implemented yet.
	 */
	virtual void startState() ;

	/**
	 * Returns the state's type.
	 *
	 * @return State::TURNOVERONCOLORLANE
	 * @see StateType.hpp
	 */
	virtual StateType getStateType();

private:
	bool enteringColorLane, leftTurn;

	void handleColorLaneEvent(LaneEvent& clEvent);

	void startManeuvre();
};
#endif
